package team.seekers.hula.audit.entity.dao;


import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonValue;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import team.seekers.hula.common.entity.enums.AuditContentTypeEnum;
import team.seekers.hula.common.entity.enums.StatusEnum;

import java.io.Serializable;
import java.util.Date;



@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="audit对象", description="送审/举报实体类")
@TableName(value = "audit")
public class AuditDO implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.ID_WORKER_STR)
    private String id;
    /**
     * 发起人
     */
    private String userId;


    /**
     * 处理人
     */
    private String dealUserId;

    /**
     * 内容类型
     */
    @JsonValue
    private AuditContentTypeEnum contentType;

    /**
     * 状态
     */
    @JsonValue
    private StatusEnum status;

    /**
     * 类型，0表示送审，1表示举报
     */
    private Integer type;

    /**
     * 举报原因
     */
    private String reportReason;

    /**
     * 举报/送审内容绑定的具体内容
     */
    private String linkId;

    /**
     * 用于后台筛选绑定课程||浪屿||问题的相关审核
     */
    private String sourceId;

    @TableField(fill = FieldFill.INSERT)
    private Date gmtCreate;

    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date gmtModified;
}
